package cn.fl.customer.transform;

import java.util.ArrayList;
import java.util.List;

import cn.cmm.base.framework.utils.CollectionUtils;
import cn.fl.customer.vo.PrjBillApplyRecVO;
import fl.customer.facade.invoice.dto.PrjBillApplyRecDTO;

 /**
 * @Description: 票据申请支付表记录列表 转换器
 * @Description: VO是客户端传递数据到服务端进行转换的数据 
 * @Description: VO转换数据变成DTO传递到服务端 
 * @Description: VO不能在服务端出现
 */
public class PrjBillApplyRecVOTransform {


	/**
	 * DTO 转  VO
	 * @param po PrjBillApplyRecDTO
	 * @return PrjBillApplyRecVO
	 */
	public static PrjBillApplyRecVO toVO(PrjBillApplyRecDTO dto) {
		PrjBillApplyRecVO  vo = null;
		if (dto != null) { 
			vo = new PrjBillApplyRecVO();
			vo.setId(dto.getId());
			vo.setFeeTypCd(dto.getFeeTypCd());//费用类型代码（PRJ0026）
			vo.setFeeTypCdNm(dto.getFeeTypCdNm());
			vo.setPaySchNo(dto.getPaySchNo());//支付表编号
			vo.setPaySchId(dto.getPaySchId());//支付表ID
			vo.setPaySchDtlId(dto.getPaySchDtlId());//支付表明细ID
			vo.setFeeAmt(dto.getFeeAmt());//应收金额
			vo.setPaidUpAmt(dto.getPaidUpAmt());//实收金额
			vo.setPrjId(dto.getPrjId());//项目ID
			vo.setLsCntNo(dto.getLsCntNo());//合同号
			vo.setFeeTypCdNm(dto.getFeeTypCdNm());//费用项名称
			vo.setOdId(dto.getOdId());
			vo.setPayPd(dto.getPayPd());
			vo.setCapFlow(dto.getCapFlow());
			vo.setCapFlowNm(dto.getCapFlowNm());
			vo.setBillTypCdDefValue(dto.getBillTypCdDefValue());
			vo.setBillTypCdDefText(dto.getBillTypCdDefText());
			vo.setCrtTm(dto.getCrtTm());//创建时间
			vo.setCrtUsrId(dto.getCrtUsrId());//创建人
			vo.setMdfTm(dto.getMdfTm());//修改时间
			vo.setMdfUsrId(dto.getMdfUsrId());//修改人
			vo.setBizTypCdNm(dto.getBizTypCdNm());
		}
		return vo;
	}

	/**
	 * VO 转 DTO
	 * @param dto PrjBillApplyRecVO
	 * @return PrjBillApplyRecDTO
	 */
	public static PrjBillApplyRecDTO toDTO(PrjBillApplyRecVO vo) {
		PrjBillApplyRecDTO dto = null;
		if (vo != null) {
			dto = new PrjBillApplyRecDTO();
			dto.setId(vo.getId());
			dto.setFeeTypCd(vo.getFeeTypCd());//费用类型代码（PRJ0026）
			dto.setFeeTypCdNm(vo.getFeeTypCdNm());
			dto.setPaySchNo(vo.getPaySchNo());//支付表编号
			dto.setPaySchId(vo.getPaySchId());//支付表ID
			dto.setPaySchDtlId(vo.getPaySchDtlId());//支付表明细ID
			dto.setFeeAmt(vo.getFeeAmt());//应收金额
			dto.setPaidUpAmt(vo.getPaidUpAmt());//实收金额
			dto.setPrjId(vo.getPrjId());//项目ID
			dto.setLsCntNo(vo.getLsCntNo());//合同号
			dto.setFeeTypCdNm(vo.getFeeTypCdNm());//费用项名称
			dto.setOdId(vo.getOdId());
			dto.setPayPd(vo.getPayPd());
			dto.setCapFlow(vo.getCapFlow());
			dto.setCapFlowNm(vo.getCapFlowNm());
			dto.setBillTypCdDefValue(vo.getBillTypCdDefValue());
			dto.setBillTypCdDefText(vo.getBillTypCdDefText());
			dto.setCrtTm(vo.getCrtTm());//创建时间
			dto.setCrtUsrId(vo.getCrtUsrId());//创建人
			dto.setMdfTm(vo.getMdfTm());//修改时间
			dto.setMdfUsrId(vo.getMdfUsrId());//修改人
		}
		return dto;
	}
	
	/**
	 * DTO集合 转 VO集合
	 * @param List<PrjBillApplyRecDTO>
	 * @return List<PrjBillApplyRecVO>
	 */
	public static List<PrjBillApplyRecVO> toVOList(List<PrjBillApplyRecDTO> list) {
		List<PrjBillApplyRecVO>  voList = new ArrayList<PrjBillApplyRecVO>();
		if(CollectionUtils.isNotEmpty(list)){
			for (PrjBillApplyRecDTO dto : list) {
				voList.add(toVO(dto));
			}
		}
		return voList;
	}
	
	/**
	 * VO集合 转 DTO集合
	 * @param list List<PrjBillApplyRecVO>
	 * @return List<PrjBillApplyRecDTO>
	 */
	public static List<PrjBillApplyRecDTO> toDTOList(List<PrjBillApplyRecVO> list) {
		List<PrjBillApplyRecDTO>  dtoList = new ArrayList<PrjBillApplyRecDTO>();
		if(CollectionUtils.isNotEmpty(list)){
			for (PrjBillApplyRecVO vo : list) {
				dtoList.add(toDTO(vo));
			}
		}
		return dtoList;
	}
}
